// pages/integralLog/integralLog.js
const app = getApp()
const PAGE_SIZE = 15

Page({
  data: {
    logList: [],        // 积分记录列表
    totalIntegral: 0,   // 当前总积分
    incomeCount: 0,     // 收入笔数
    expenseCount: 0,    // 支出笔数
    page: 1,            // 当前页码
    hasMore: true,      // 是否有更多数据
    loading: false,     // 加载状态
    isEmpty: false,     // 是否为空数据
    isRefreshing: false // 下拉刷新状态
  },

  onLoad() {
    this.loadIntegralData()
  },

  async getStore() {
    await wx.getStorageSync('user')
  },

  // 加载积分数据
  loadIntegralData() {
    if (this.data.loading) return
    this.setData({ loading: true })
    const { page, logList } = this.data
    // const user = app.globalData.user
    var user = wx.getStorageSync('user')
    if (!user.is_login) {
      wx.showToast({ title: '请先登录', icon: 'none' })
      this.setData({ loading: false })
      return
    }
    let that = this;
    wx.showLoading({ title: '加载中...', mask: true })
    app._get("user.integral/logs",{
      user_id: user.user_id,
      page: page,
      page_size: PAGE_SIZE},(
        function(res){
          console.log(res)
          const data = res.data
          const newLogList = data.log_list || []
          // 如果是第一页且没有数据，显示空状态
          if (page === 1 && newLogList.length === 0) {
            that.setData({ isEmpty: true })
          }
        
          that.setData({
            logList: [...logList, ...newLogList],
            totalIntegral: data.total_integral || 0,
            incomeCount: data.income_count || 0,
            expenseCount: data.expense_count || 0,
            hasMore: (logList.length + newLogList.length) < (data.pagination?.total_count || 0),
            loading: false,
            isRefreshing: false
          })
        
          // 缓存总积分到全局
          // app.globalData.user.score = data.total_integral || 0
      }
    )
    )
    // wx.request({
    //   url: app.globalData.apiBase + '/integral/logs',
    //   method: 'GET',
    //   data: {
    //     user_id: user.user_id,
    //     page: page,
    //     page_size: PAGE_SIZE
    //   },
    //   success: (res) => {
    //     if (res.data.code === 200) {
    //       const data = res.data.data
    //       const newLogList = data.log_list || []
          
    //       // 如果是第一页且没有数据，显示空状态
    //       if (page === 1 && newLogList.length === 0) {
    //         this.setData({ isEmpty: true })
    //       }
          
    //       this.setData({
    //         logList: [...logList, ...newLogList],
    //         totalIntegral: data.total_integral || 0,
    //         incomeCount: data.income_count || 0,
    //         expenseCount: data.expense_count || 0,
    //         hasMore: (logList.length + newLogList.length) < (data.pagination?.total_count || 0),
    //         loading: false,
    //         isRefreshing: false
    //       })
          
    //       // 缓存总积分到全局
    //       app.globalData.user.integral = data.total_integral || 0
    //     } else {
    //       wx.showToast({ title: res.data.msg || '加载失败', icon: 'none' })
    //       this.setData({ loading: false, isRefreshing: false })
    //     }
    //   },
    //   fail: (err) => {
    //     console.error('请求失败', err)
    //     wx.showToast({ title: '网络错误', icon: 'none' })
    //     this.setData({ loading: false, isRefreshing: false })
    //   },
    //   complete: () => {
    //     wx.hideLoading()
    //   }
    // })
  },

  // 加载更多
  loadMore() {
    if (!this.data.hasMore || this.data.loading) return
    this.setData({ page: this.data.page + 1 }, () => {
      this.loadIntegralData()
    })
  },

  // 下拉刷新
  onPullDownRefresh() {
    this.setData({
      page: 1,
      logList: [],
      hasMore: true,
      isEmpty: false,
      isRefreshing: true
    }, () => {
      this.loadIntegralData().finally(() => {
        wx.stopPullDownRefresh()
      })
    })
  },

  // 查看订单详情
  viewOrder(e) {
    const orderId = e.currentTarget.dataset.orderid
    if (orderId && orderId > 0) {
      wx.navigateTo({
        url: `/pages/orderDetail/orderDetail?order_id=${orderId}`
      })
    }
  },

  // 返回首页
  goHome() {
    wx.switchTab({
      url: '/pages/index/index'
    })
  },

  // 分享功能
  onShareAppMessage() {
    return {
      title: '我的积分记录',
      path: '/pages/integralLog/integralLog'
    }
  }
})